The present invention relates to a diagnostic system in an engine management system for generating a diagnostic trouble code (DTC) to indicate the operational status of a component or sub-system which is being evaluated by the diagnostic system.
The invention also relates to a dynamic scheduler for determining the order of execution of a plurality of engine control functions and a plurality of evaluation routines in a diagnostic system.
The invention further relates to a DF (diagnostic function) module for executing an evaluation routine during a driving cycle to detect a fault in a component or sub-system in an engine management system, for generating a diagnostic trouble code (DTC) to indicate the operational status of the component or sub-system, and for determining the priority with which the evaluation routine should be executed.
In order to ensure that drivers of vehicles are made aware of any faults which may arise in an engine management system, self-diagnostic systems are employed to monitor the components or sub-systems in the engine management system and to communicate a warning to the driver should a fault be detected. Such a warning may be in the form of a malfunction indication lamp (MIL) which is illuminated on the vehicle dashboard. Depending on the severity of the fault, the driver may be instructed to visit a workshop immediately to have the fault rectified or, in the case of a minor fault, he may wait until the next scheduled visit to the workshop.
For certain engine management systems, primarily those which affect exhaust emissions, legislation dictates how frequently and under what circumstances diagnostic checks are to be performed. Accordingly, standard driving cycles exist during which all diagnostic checks must be completed. Legislation also requires that, should certain faults be detected during two consecutive driving cycles, these faults be permanently recorded in a memory so that they may be later accessed in the workshop.
Examples of engine management systems include an engine control module, an exhaust gas recirculation system, an evaporated fuel processing system, a secondary air system and a catalytic converter monitoring system. Further components which require monitoring may include an engine coolant temperature sensor, a mass air flow meter sensor, an engine speed sensor, etc. Whilst the functioning of some components can be checked virtually independently of the operating conditions of the engine, many components and systems can only be checked when certain operating parameters prevail, e.g engine load, temperature, engine speed, etc.
Accordingly, diagnostic systems have been developed which prioritize certain diagnostic checks over others. For example, a priority system is described in U.S. Pat. No. 5,331,560 in which certain diagnostic checks can be interrupted if operating conditions dictate that a diagnostic check can be performed on an engine management system for which the necessary operating parameters only rarely occur. Once the existing diagnostic check has been interrupted, the prioritized check can then be performed.
Due to the interrelationship between many components and sub-systems making up the engine management system, if operating conditions are such that a diagnostic check may be performed on one component or sub-system, it is necessary to inhibit diagnostic checks on other components or sub-systems which may otherwise affect the validity of the result of the diagnostic check. For conventional diagnostic systems, this implies that if a component or sub-system is added or deleted, the diagnostic system must be reprogrammed to ensure that the diagnostic system is aware of the effect of the new/deleted component or sub-system on the remainder of the engine management system. Naturally, the same problem arises when it is desired to implement the same diagnostic system in a different vehicle model.
The above-mentioned interrelation between various components and sub-systems further implies that should a fault be detected in one component, the effect of the fault may be reflected during diagnostic checks performed on several components or sub-systems. It is therefore desirable that means be available to accurately determine where the root cause of a fault lies and that no false fault signals be recorded.
This interrelationship also means that there may be engine control functions (EC), the execution of which would interfer with the execution of one or several diagnostic functions. For this reason it is desirable that the diagnostic system can prevent the simultaneous execution of diagnostic functions and engine control functions which interfer with each other.
In order to assist the workshop or manufacturer in determining why a certain fault has arisen, it would be useful to be able to obtain information pertaining to the actual operating conditions of the vehicle from the time the fault arose up to the point when the fault was detected. This possibility has not been available up until now.
It is therefore an object of the present invention to provide a diagnostic system which quickly identifies faults, particularly in components or sub-systems relating to exhaust emissions, and which can easily be adapted to different engine and vehicle models.
This object is achieved by a system according to claim 1.
By grouping everything needed for each component or sub-system in a specific DF module to (i) determine the priority with which the evaluation routine associated with that DF module should be executed, (ii) perform an evaluation routine to detect a fault, (iii) store the evaluated results statistically, (iv) filter the evaluated results to decide when to create DTC-data and, preferably, (v) decide in the case when reported valid when to store or erase the DTC-data and when to illuminate or extinguish the MIL, and by controlling the order of executing the evaluation routines of all the DF modules in the diagnostic system from a single dynamic scheduler, the diagnostic system can be quickly adapted to changes of components or sub-systems since each DF module will be independent of the others.
A further object of the present invention is to provide a DF module which contains sufficient means to be able to decide independently whether certain data is to be stored.
This object is achieved by the DF module according to claim 12.